//配置axios的全局基本路径
axios.defaults.baseURL='http://localhost:8080/'
//全局属性配置，在任意组件内可以使用this.$http获取axios对象
Vue.prototype.$http = axios
//引入axios


//================================第一个 ajax的前置拦截器
//1 使用axios前置拦截器，让所有的请求都携带uToken
axios.interceptors.request.use(config=>{
    //携带token
    let token =  localStorage.getItem("token");
    if(token){//如果能取到token true
        config.headers['token'] = token;
    }
    return config;
},error => {
    Promise.reject(error);
})
//===========================================ajax的后置拦截器
//2 使用axios后置拦截器，处理没有登录请求
axios.interceptors.response.use(result=>{
    let data = result.data;
    if(!data.success && data.msg==="noLogin"){
        location.href = "/login.html";
        //router.push({ path: '/login' });//如果你没有登录跳转登录页面
    }
    if(!data.success && data.msg==="NoBinder"){
        location.href = result.data.data
    }
    return result;//直接返回
},error => {
    Promise.reject(error);
})

//手写静态拦截器
//alert(location.href)
let url = location.href;//获取到当前访问路径
//如果是登录或者注册或者首页都应该放行
//第一次出现的位置
//如果你不是访问以下页面 请求你登录         如果你访问的不是以下几个页面 我就要去判断你是否登录
if(url.indexOf("login.html") === -1 &&   //&&全部满足才为true
    url.indexOf("register.html") === -1 &&
    url.indexOf("index.html") === -1&&
    url.indexOf("binder.html") === -1&&
    url.indexOf("callback.html") === -1){
    let token = localStorage.getItem("token")
    if(!token){
        location.href = "login.html"//如果没有token就跳转登录页面
    }
}
